package com.cgene.game;

/**
 * ソートクラス
 **/
@SuppressWarnings("unchecked")
class EnemyComparator implements java.util.Comparator{

	// どの値で比較するかのタイプ
	private String type;

	/**
	 *	コンストラクタ。タイプを指定。
	 */
	public EnemyComparator(String type) {
		super();
		this.type = type;
	}

	/**
	 * 比較処理
	 */
	public int compare(Object o1, Object o2){
		Enemy e1 = (Enemy)o1;
		Enemy e2 = (Enemy)o2;
		if ("maxHp".equals(type)) {
			return e2.maxHp - e1.maxHp;
		} else if ("hp".equals(type)) {
			return e2.hp - e1.hp;
		} else if ("str".equals(type)) {
			return e2.str - e1.str;
		} else if ("def".equals(type)) {
			return e2.def - e1.def;
		} else {
			//	デフォルトは、素早さで比較します。
			return e2.spd - e1.spd;
		}
	}
}